package com.xmtlxx.wms.domain.vo;

import com.xmtlxx.common.annotation.ExcelDictFormat;
import com.xmtlxx.common.convert.ExcelDictConvert;
import com.xmtlxx.oms.domain.vo.PropertyVo;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.List;


/**
 * 库位视图对象 t_locator
 *
 * @author xmtlxx
 * @date 2022-08-15
 */
@Data
@ApiModel("库位视图对象")
@ExcelIgnoreUnannotated
public class LocatorVo {

    private static final long serialVersionUID = 1L;

    /**
     * 库位ID
     */
    @ExcelProperty(value = "库位ID")
    @ApiModelProperty("库位ID")
    private String id;

    /**
     * 所属库区
     */
//    @ExcelProperty(value = "所属库区")
    @ApiModelProperty("所属库区")
    private String areaId;

    /**
     * 库位名称
     */
    @ExcelProperty(value = "库位名称")
    @ApiModelProperty("库位名称")
    private String name;

    /**
     * 状态
     */
    @ExcelProperty(value = "状态", converter = ExcelDictConvert.class)
    @ExcelDictFormat(dictType = "sys_common_status")
    @ApiModelProperty("状态")
    private String status;

    /**
     * 柜组id
     */
    @ApiModelProperty("柜组id")
    private String cabinetGroupId;
    /**
     * 柜号id
     */
    @ApiModelProperty("柜号id")
    private String cabinetId;
    /**
     * 财物数量
     */
    @ApiModelProperty("财物数量")
    private Long pnums;

    /**
     * 删除标识
     */
    @ExcelProperty(value = "删除标识", converter = ExcelDictConvert.class)
    @ExcelDictFormat(dictType = "sys_del_flag")
    @ApiModelProperty("删除标识")
    private String delFlag;


    /**
     * 货道号
     */
    @ApiModelProperty("货道号")
    private String aisleCode;

    /**
     * 货道编码
     */
    @ApiModelProperty("货道编码")
    private Long cabinetAisleRelaId;

    @ApiModelProperty("仓库ID")
    private String storeId;


    @ExcelProperty(value = "仓库名称")
    @ApiModelProperty("仓库名称")
    private String storeName;
    @ExcelProperty(value = "库区名称")
    @ApiModelProperty("库区名称")
    private String areaName;
    @ExcelProperty(value = "货柜名称")
    @ApiModelProperty("货柜名称")
    private String groupName;
    @ExcelProperty(value = "柜号名称")
    @ApiModelProperty("柜号名称")
    private String cabinetName;

    @ApiModelProperty("所在层")
    private Integer floors;

    @ApiModelProperty("使用部门")
    private Long useDeptId;

    @ApiModelProperty("所在地域")
    private String region;

    @ApiModelProperty("物品形态")
    private String shape;

    @ApiModelProperty("所在箱")
    private Integer boxs;

    private List<String> shapeList;

    /**
     * 是否展示第几层，第几箱
     */
    private Boolean isShow;

    private Integer startNo;

    private Integer endNo;

    @ApiModelProperty("财物入库编码")
    private String qrcode;

    /**
     * 已上架物品
     */
    private List<PropertyVo> propertyVos;

    /**
     * 待上架物品
     */
    private List<PutDtlVo> putDtlVos;

    private Integer seq;

    private Integer startFloor;

    private Integer endFloor;

    /**
     * 批量货架
     */
    private List<String> locatorIds;
    private Boolean isPlan;

    private String areaNo;

    private Long totals;
}
